#ifndef __CE_GFX_MESH_STATICMESH_H__
#define __CE_GFX_MESH_STATICMESH_H__

#include <gfx/istaticmesh.h>
#include <gfx/mesh.h>

struct iDevice;

/**
 * \addtogroup opengl
 * @{
 */

/**
 * @brief Implemenation of the iStaticMesh interface.
 */
class ceStaticMeshGL20 : public iStaticMesh
{
  CE_OBJECT
private:
  ceMesh          *_mesh;

  cePrimitiveType _primType;


public:
  ceStaticMeshGL20();
  ~ceStaticMeshGL20();

  virtual void Draw (const ceRenderEnvironment& renderEnvironment, iDevice* device);
  virtual void Update (const ceRenderEnvironment& renderEnvironment, iDevice* device);

  virtual void SetMesh (ceMesh* mesh);
  virtual const ceMesh* GetMesh () const;
  virtual ceMesh* GetMesh();

  
  const ceBoundingBox& GetBoundingBox () const;

};

/** @} */
#endif // __CE_GFX_MESH_STATICMESH_H__
